// 优化后的reservation.js文件

// 定义一个函数，用于获取场馆信息
function getStadiumInfo() {
    // 获取表单元素的值
    var stadiumId = $("#stadium").val();
    var date = $("#date").val();
    var timeId = $("#time").val();

    // 判断表单元素的值是否为空
    if (stadiumId == "" || date == "" || timeId == "") {
        // 如果有一个为空，就清空价格和状态的值，并禁用预约按钮
        $("#price").val("");
        $("#status").val("");
        $("#reserveBtn").attr("disabled", true);
    } else {
        // 如果都不为空，就发送ajax请求，获取场馆信息
        $.ajax({
            url: "getStadiumInfo",
            type: "post",
            data: {
                stadiumId: stadiumId,
                date: date,
                timeId: timeId
            },
            dataType: "json",
            success: function (data) {
                // 如果请求成功，就将返回的数据显示在表单中，并根据状态启用或禁用预约按钮
                $("#price").val(data.price);
                if (data.status == 0) {
                    $("#status").val("可预约");
                    $("#reserveBtn").attr("disabled", false);
                } else if (data.status == 1) {
                    $("#status").val("已预约");
                    $("#reserveBtn").attr("disabled", true);
                } else if (data.status == 2) {
                    $("#status").val("已过期");
                    $("#reserveBtn").attr("disabled", true);
                }
            },
            error: function () {
                // 如果请求失败，就弹出提示框，并清空价格和状态的值，并禁用预约按钮
                alert("获取场馆信息失败，请重试！");
                $("#price").val("");
                $("#status").val("");
                $("#reserveBtn").attr("disabled", true);
            }
        });
    }
}

// 定义一个函数，用于取消预约
function cancelReservation(reservationId) {
    // 弹出确认框，询问用户是否确定取消预约
    var result = confirm("你确定要取消这个预约吗？");
    if (result) {
        // 如果用户确定取消预约，就发送ajax请求，修改预约状态
        $.ajax({
            url: "cancelReservation",
            type: "post",
            data: {
                reservationId: reservationId
            },
            dataType: "json",
            success: function (data) {
                // 如果请求成功，就刷新页面，并弹出提示框
                location.reload();
                alert(data.message);
            },
            error: function () {
                // 如果请求失败，就弹出提示框
                alert("取消预约失败，请重试！");
            }
        });
    }
}